博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BBS论坛(二十)
阅读量:5022 次
发布时间:2019-06-12

本文共 3415 字,大约阅读时间需要 11 分钟。

20.1.cms添加轮播图后台逻辑代码完成

(1)apps/models.py

from exts import dbfrom datetime import datetimeclass BannerModel(db.Model):    __tablename__ = 'banner'    id = db.Column(db.Integer, primary_key=True, autoincrement=True)    name = db.Column(db.String(255), nullable=False)    img_url = db.Column(db.String(255), nullable=False)    link_url = db.Column(db.String(255), nullable=False)    priority = db.Column(db.Integer, default=0)    create_time = db.Column(db.DateTime, default=datetime.now)

(2)manage.py

from apps.models import BannerModel

(3)生成到数据库

python manage.py db migratepython manage.py db upgrade

(4)cms/forms.py

class AddBannerForm(BaseForm):    name=StringField(validators=[InputRequired(message='请输入轮播图名称')])    img_url=StringField(validators=[InputRequired(message='请输入轮播图链接')])    link_url=StringField(validators=[InputRequired(message='请输入轮播图跳转链接')])    priority=IntegerField(validators=[InputRequired(message='请输入轮播图优先级')])

(5)cms/views.py

@bp.route('/abanner/',methods=['POST'])def abanner():    form=AddBannerForm(request.form)    if form.validate():        name=form.name.data        img_url=form.img_url.data        link_url=form.link_url.data        priority=form.priority.data        banner=BannerModel(name=name,img_url=img_url,link_url=link_url,priority=priority)        db.session.add(banner)        db.session.commit()        return restful.success()    else:        return restful.params_error(message=form.get_error())

 

20.2.cms添加轮播图前台逻辑完成

(1)cms/js/banner.js

$(function () {    $('#save_banner_btn').click(function (event) {        event.preventDefault();        var dialog = $('#banner-dialog');        var nameInput = $("input[name='name']");        var imgInput = $("input[name='img_url']");        var linkInput = $("input[name='link_url']");        var priorityInput = $("input[name='priority']");        var name = nameInput.val();        var img_url = imgInput.val();        var link_url = linkInput.val();        var priority = priorityInput.val();        if (!name || !img_url || !link_url || !priority) {            zlalert.alertInfo('请输入完整的轮播图数据');            return;        }        zlajax.post({            'url': '/cms/abanner/',            'data': {                'name': name,                'img_url': img_url,                'link_url': link_url,                'priority': priority            },            'success': function (data) {                if (data['code'] == 200) {                    dialog.modal('hide');                    window.location.reload()                } else {                    zlalert.alertInfo(data['message']);                }            },            'fail': function (error) {                zlalert.alertNetworkError()            }        });    });});

(2)cms/cms_banners.html

{% from 'common/_macros.html' import static %}

(3)cms/views.py

@bp.route('/banners/')@login_requireddef banners():    banners = BannerModel.query.all()    return render_template('cms/cms_banners.html',banners=banners)

(4)cms_banners.html

        {% for banner in banners %}                            {
{ banner.name }} {
{ banner.img_url }}
{
{ banner.link_url }}
{
{ banner.priority }} {
{ banner.create_time }} {% endfor %}

 

转载于:https://www.cnblogs.com/derek1184405959/p/9160866.html

你可能感兴趣的文章
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
Spring Cloud微服务笔记(五)Feign
查看>>
C语言键盘按键列表
查看>>
Codeforces Round #374 (Div. 2)
查看>>
oracle数据类型
查看>>
socket
查看>>
Vue中使用key的作用
查看>>
二叉索引树 树状数组
查看>>
日志框架--(一)基础篇
查看>>
Java设计模式之原型模式
查看>>
Spring学习(四)-----Spring Bean引用同xml和不同xml bean的例子
查看>>
哲理故事与管理之道(20)-用危机激励下属
查看>>
关于源程序到可运行程序的过程
查看>>
wepy的使用
查看>>
转载:mysql数据库密码忘记找回方法
查看>>
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
面向对象1
查看>>
在ns2.35中添加myevalvid框架
查看>>
【贪心+DFS】D. Field expansion
查看>>
为什么要使用href=”javascript:void(0);”
查看>>